#include <iostream>
using std::cout;
using std::endl;

int add(int x, int y){
    return x + y;
}

/* int add(int y, int x){ */
/*     return y + x; */
/* } */

#ifdef __cplusplus
extern "C"{
#endif

int add(int x, int y, int z){
    return x + y + z;
}

float add(float x, int y){
    return x + y;
}
#ifdef __cplusplus
}
#endif

float add(int x, float y){
    return x + y;
}

/* void add(int x,int y){ */
/*     cout << x + y << endl; */
/* } */

void test0(){
    int a = 1, b = 2, c = 3;
    float d = 1.2;
    cout << add(a,b) << endl;
    cout << add(a,b,c) << endl;
    cout << add(d,b) << endl;
    cout << add(c,d) << endl;
    //add(a,b);
}

int main(void){
    test0();
    return 0;
}
